package cc.decat.escript.runtime;

import cc.decat.escript.object.ESFunctionObject;
import cc.decat.escript.object.ESObject;

import java.util.List;

public class Closure {
    private Closure parent;
    private ESFunctionObject functionObject;
    private Env parentEnv;
    private Env env;
    private List<ESObject> args;


    public Closure getParent() {
        return parent;
    }

    public void setParent(Closure parent) {
        this.parent = parent;
    }

    public ESFunctionObject getFunctionObject() {
        return functionObject;
    }

    public void setFunctionObject(ESFunctionObject functionObject) {
        this.functionObject = functionObject;
    }

    public Env getParentEnv() {
        return parentEnv;
    }

    public void setParentEnv(Env parentEnv) {
        this.parentEnv = parentEnv;
    }

    public Env getEnv() {
        return env;
    }

    public void setEnv(Env env) {
        this.env = env;
    }

    public List<ESObject> getArgs() {
        return args;
    }

    public void setArgs(List<ESObject> args) {
        this.args = args;
    }
}
